1. Field of the Invention
The present invention relates to a system which performs radio communication utilizing a plurality of antennas. In particular, the present invention relates to a technology which compensates channels of a MIMO system in the receiver.
2. Description of the Related Art
MIMO (Multi Input Multi Output) is known as a technology for realizing high-speed radio communication. MIMO is one of the space division multiplex communication systems, and is technology wherein a receiving device and a transmitting device are each provided with a plurality of antennas, and a plurality of radio waves, separated by space, are transmitted in parallel with each other. Here, the plurality of radio waves transmitted from the plurality of the antennas generally have the identical frequency to increase frequency utilization efficiency.
FIG. 1 is a basic configuration diagram of the MIMO system. In FIG. 1, the transmitting device transmits signals utilizing Nt transmitting antennas, and the receiving device receives the signals from the transmitting device utilizing Nr receiving antennas. In this case, the characteristics of the channels between the transmitting device and the receiving device are expressed by H0,0 to HNr−1, Nt−1. “H0,0” indicates the channel characteristics (for example, channel frequency response) for transmitting signals from the transmitting antenna 0 to the receiving antenna 0. “HNr−1, Nt−1” indicates the channel characteristics for transmitting signals from the transmitting antenna Nt−1 to the receiving antenna Nr−1.
Then, signal y, obtained through each receiving antenna in the receiving device, is expressed by the following formula (1). In addition, transmitted symbol x comprises symbols x0 to xNt−1, which are transmitted using the transmitting antennas N0 to NNt−1. Likewise, received signal y comprises signals y0 to yNr−1, which are received using the receiving antennas N0 to NNr−1. The transmitted symbol x and the received signal y are each expressed by a complex vector. In addition, channel status information H is expressed by Nt×Nr matrix. Furthermore, “n” is noise in each receiving antenna.
                                                                        r                →                            =                                                                    H                                          _                      _                                                        ·                                      x                    →                                                  +                                  n                  →                                                                                                        With              ⁢                              :                                                                                                                                                                                            r                        →                                            =                                                                        [                                                                                    r                              0                                                        ⁢                                                                                                                  ⁢                            …                            ⁢                                                                                                                  ⁢                                                          r                                                              Nr                                -                                1                                                                                                              ]                                                T                                                              ,                                                                  H                                                  _                          _                                                                    =                                                                        {                                                      H                                                          p                              ,                              q                                                                                }                                                                                                      0                            ≤                            p                            <                            Nr                                                                                                              0                              ≤                              q                              <                              Nt                                                        ⁢                                                                                                                                                                                                                                                                                                x                      →                                        =                                                                                            [                                                                                    x                              0                                                        ⁢                                                                                                                  ⁢                            …                            ⁢                                                                                                                  ⁢                                                          x                                                              Nt                                -                                1                                                                                                              ]                                                T                                            ⁢                                                                                          ⁢                      and                                                                                                                                                              n                →                            =                                                [                                                            n                      0                                        ⁢                                                                                  ⁢                    …                    ⁢                                                                                  ⁢                                          n                                              Nr                        -                        1                                                                              ]                                T                                                                        (        1        )            
“r”, which appears in formula (1) and some of the subsequent formulas, indicates received signal and expresses the same as what is described as “y”.
The MIMO processing described by the formula (1) is performed for every symbol. In addition, the MIMO system is, for example, described in Patent Document 1 (Japanese Patent Laid-Open Publication No. 2002-44051).
<Non-encoded MIMO>
Non-encoded MIMO can increase data rate by utilizing layering processing, in contrast to encoded MIMO such as Space Time Block Coding and Space Frequency Block Coding. These technologies are described in the following Document 1 (A. Van Zelst, “Space division multiplexing algorisms” Proc. 10th Med. Electrotechnical Conference 2000, pp. 1218-1221).
Before describing the five common MIMO signal processing technologies, the channel capacity in MIMO transmission is described briefly. Here, “H” is a matrix which expresses statuses of a plurality of channels.
If the channel matrix H is known in the receiving device, Shannon limit in the space division multiplex system is expressed by the following formula (2). Here, “INr” is an identity matrix of Nr-dimension. In addition, “ρ” is the SNR (Signal Noise Ratio) of the signal transmitted from each transmitting antenna. Furthermore, “HH” is a Hermitian Matrix of H.
                    C        =                                            log              2                        ⁡                          (                                                I                                      N                    r                                                  +                                                      ρ                                          N                      t                                                        ⁢                                                                          ⁢                                      H                                          _                      _                                                        ⁢                                                                          ⁢                                                            H                                              _                        _                                                              H                                                              )                                ⁢                                          ⁢          bps          ⁢                      /                    ⁢          Hz                                    (        2        )            
The following two assumptions are introduced to perform the MIMO processing.
Assumption 1: Regarding System Design
In order to mathematically find a solution, the MIMO system must be designed under the condition of “Nr>=Nt”. Namely, the number of receiving antennas is equal to or larger than the number of transmitting antennas.
Assumption 2: Regarding Channel Status
Each transmitting antenna and receiving antenna must be uncorrelated or partially uncorrelated. Namely, it is prohibited for all elements in the channel matrix H to coincide with each other. This condition is met in an environment where uncorrelated fading exists or in an environment where scattering is rich.
Next, the five common MIMO signal processing technologies are described.
<Zero Forcing Algorithm>
In the Zero Forcing Algorithm, the estimated value xest of the transmitted signal, in the receiving device, is obtained by the following formula (3). Here, “H+” is the pseudo inverse matrix of H. If H is a square matrix, “H+=H−1”.{right arrow over (x)}est=H+·{right arrow over (r)}  (3)<MMSE (Minimum Mean Square Error) Algorithm>
In the MMSE Algorithm, the estimated value xest of the transmitted signal in the receiving device is obtained by the following formula (4). In formula (4), “α” indicates “1/SNR”, and “I” indicates identify matrix. In addition, “H+” is the transposed conjugate matrix of H.{right arrow over (x)}est=(αI+H*H)−1H*{right arrow over (r)}  (4)The MMSE Algorithm is described in the following Document 2 (J. Proakis, Digital Communications, 3rd ed. McGraw-Hill 1995).<ZF-BLAST (Zero Forcing Bell Laboratories Layered Space Time) Algorithm>
The BLAST is intended to realize high-speed data communication over multiple transmitting antennas. According to this algorithm, synchronously transmitted symbols utilizing the Nt transmitting antennas are detected. Signals transmitted from each transmitting antenna are selected and estimated by suppressing/canceling interference. This canceling step is repeated Nt-1 times. Decoding procedures are described below.
The following conditions are set in the first decoding step (u=1). In addition, “˜” mark indicates an estimated value. Furthermore, “=” mark, which is superscripted to H, indicates that H is a matrix.{tilde over (H)}1= H and {tilde over ({right arrow over (r)}={right arrow over (r)}
Nulling matrix G is calculated by each step u. Here, the nulling matrix Gu in the u-th decoding step is expressed by the following formula (5). Namely, the nulling matrix Gu in the u-th decoding step is the pseudo inverse matrix of the estimated value of H matrix in the u-th decoding step.Gu={tilde over (H)}u+  (5)
In the BLAST algorithm, an arbitrary layer can be selected from the nulling matrix G in every step u. However, according to the Document 2, optimal performance is obtained if the layer indicating the maximum post detection signal to noise ratio is selected. This condition is equivalent to the selection of a row which has minimum norm on its diagonal from the nulling matrix G.
In the u-th decoding step, the processing wherein the row which has the minimum norm from the nulling matrix Gu is selected is expressed by the following formula (6) or formula (7). “ku” identifies the row which is to be selected from the nulling matrix Gu and indicates the corresponding transmitting antenna. In addition, “wku” represents a vector comprising each component of the ku-th row in the nulling matrix Gu.
                              k          u                =                                            arg              ⁢                                                          ⁢              min                                      j              ∈                              {                                  1                  ,                                                            N                      1                                        -                    u                    +                    1                                                  }                                              ⁢                                                                                    (                                      G                    u                                    )                                j                                                    2                                              (        6        )                                                      w            →                    k                =                              (                          G              u                        )                                k            u                    T                                    (        7        )            
If “wku” obtained in formula (7) is multiplied by the received signal vector yu, all of the layers other than the layer corresponding to the transmitting antenna ku are suppressed. In this case, the following formula (8) is obtained. Here, “xku” represents the transmitted signal and “est” indicates that it is an estimated value.
                              x                      k            u                    est                =                                            w              →                                      k              u                        T                    ·                                    r                              ~                →                                      u                                              (        8        )            
If one layer is detected, the processing for detecting subsequent layers can be advanced. The number of layers to be targeted in the next step can be reduced by one, by deducting a part of the detected signals from the received signal vector. Namely, the variations of the received vector is expressed by the following formula (9). “Q” indicates a slicing value of the received symbol. “yu” and “yu+1” represents the received signal in the “u”th step and the received signal in “u+1”th step, respectively. “(Hu)ku” indicates the ku-th row in the H matrix in the “u”th step (namely, the row comprising the coefficient showing the status of the channel relative to the transmitting antenna ku).
                                          y                          ~              →                                            u            +            1                          =                                            y                              ~                →                                      u                    -                                    Q              ⁡                              (                                  x                                      k                    u                                    est                                )                                      ·                                          (                                                      H                    ~                                    u                                )                                            k                u                                                                        (        9        )            
Then, since the ku-th row in channel “(Hu)ku” is no longer required, this row is removed. This processing can be expressed by the following formula (10).{tilde over (H)}u+1={tilde over (H)}uku  (10)
In the BLAST algorithm, the processing of the formulas (6) through (10) are repeatedly executed until “u=Nt” is fulfilled, while incrementing “u” one by one. Namely, the processes in the formulas (6) through (10) are repeatedly executed by the number of transmitting antennas. The BLAST Algorithm is described in the following Document 3 (P. W. Wolniansky and al., “V-BLAST: An architecture for realizing very high data rates over the rich scattering wireless channel”, in Proc. Int. Symposium on Advanced Radio Technologies, Boulder, Colo., September 1998).
<MMSE-BLAST Algorithm>
The principle of the MMSE-BLAST algorithm is basically the same as that of the ZF-BLAST algorithm. However, in the MMSE-BLAST algorithm, the following formula (11) is used in place of the afore-mentioned formula (5). “α” indicates the variance of noise.G=(αI+H*H)−1H*   (11)<Maximum Likelihood Decoding Algorithm>
In the Maximum Likelihood Decoding algorithm, the received signal y is compared with all possible transmitted vectors (specifically, all the transmitted vectors varied by Channel H) and the transmitted data is estimated based on the Maximum Likelihood principle. This method can be expressed by the following formula (12).{right arrow over (x)}est=argmin∥ γ−Hxj∥2 xjε{s1, . . . , sk}  (12)
The Maximum Likelihood Decoding algorithm is one of the optimum methods for regenerating transmitted data. However, in this algorithm, since the transmitted vectors estimated from the received signals and all possible transmitted vectors must be compared, a problem exists in that the computational effort becomes very large. For example, if it is assumed that the modulation system is BPSK, 16 (=24) transmitted vectors exist in a system which has four transmitting antennas, and 32 (=25) transmitted vectors in a system which has five antennas. Namely, the number of transmitted vectors estimated from the received signals and the number of vectors to be compared are inevitably increased exponentially as the number of transmitting antennas increases.
If the afore-mentioned five conventional technologies are applied to the MIMO system, the following problem occurs. Namely, in the Zero Forcing algorithm and MMES algorithm, the estimation accuracy of the transmitted symbol is low, resulting in low decoding performance.
In the BLAST algorithm and Maximum Likelihood Decoding algorithm, the estimation accuracy of the transmitted symbol is high. In particular, the Maximum Likelihood Decoding algorithm is an optimum algorithm if attention is paid to decoding performance. However, the calculations of these algorithms are complicated and the load to the receiving device is heavy. For example, the computational effort of the Maximum Likelihood Decoding algorithm exponentially increases with respect to the number of the status (dependant on the number of transmitting antennas and the modulation system).